#pragma once

#include "SkinSysHeader.h"
#include "SkinFile.h"
extern CAppModule _Module;

class CUdtSkinObjectEnginer;
class CSkinApp
{

public:
    CSkinApp( HINSTANCE hInstance );
    static CSkinApp* GetInstance();
    void Release();

    virtual ~CSkinApp( void );
    BOOL LoadSkinFile( LPCTSTR lpszSkinFile, SKIN_SRC_TYPE skinSrcType = SKIN_TYPE_XML );
    int Run( LPTSTR lpstrCmdLine = NULL, int nCmdShow = SW_SHOWDEFAULT );

    virtual void SetUdtObjEnginer( CUdtSkinObjectEnginer* pEnginer );
    CUdtSkinObjectEnginer* GetUdtEnginer();
private:
    CUdtSkinObjectEnginer* m_UdtObjectEnginer;
    static CSkinApp* m_pSkinApp;
    CString m_sSkinFile;
};

static CSkinApp* AfxGetApp()
{
    return CSkinApp::GetInstance();
}

